黑客攻击目标时常常把破译普通用户的口令作为攻击的开始。先用“finger远端主机名”找出主机上的用户帐号,然后就采用字典穷举法进行攻击。它的原理是这样的:根据网络上的用户常采用一些英语单词或自己的姓氏作为口令的实际情况。通过一些程序,自动地从计算机字典中取出一个单词,作为用户的口令输入给远端的主机,尝试进入系统。若口令错误,就按序取出下一个单词,进行下一个尝试,并且一直循环下去,直到找到正确的口令,或字典的单词试完为止。由于这个破译过程由计算机程序来自动完成,十几个小时就可以把字典的所有单词都试一遍。这类程序的典型代表是LetMeInversion2.0。
若这种方法不能奏效,黑客就会仔细寻找目标的薄弱环节和漏洞,伺机夺取目标中存放口令的文件shadow或passwd。因为在现代的Unix操作系统中,用户的基本信息存放在passwd文件中,而所有的口令则经过DES加密方法加密后专门存放在一个叫shadow(影子)的文件中,并且处于严密的保护之下。老版本的Unix没有shadow文件,它所有的口令都存放在pass?wd文件中。一旦夺取口令文件,黑客们就会用专门破解DES加密法的程序来解口令。
防范的办法很简单,只要使自己的口令不在英语字典中,且不可能被别人猜测就可以了。一个好的口令应当至少有7个字符长,不要用个人信息(如生日,名字等),口令中要有一些非字母(如数字,标点符号,控制字符等),还要好记一些,不能写在纸上或计算机中的文件中,选择口令的一个好方法是将两个不相关的词用一个数字或控制字符相连,并截断为8个字符。例如我们以前的口令是:me2.hk97。
网络入侵和网络安全是一对矛盾,没有Hacker高手就不会有好的安全系统。这听起来有些悲哀,可惜是事实。为了提高我们的安全防范能力,我看是不是先培养一批Hacker出来(中国的Hacker太少了)。在此提供几条线索供Hacker们参考:
●用过Solaris的snoop命令吗?用它可以“听到”同一共享网段内的其他用户的口令(当然包括超级用户的)。
●sendmail.5.5.9版本以前有个debug命令,是个强有力的远程调试工具,可惜也是一个大bug。
●冒充路由器可以看到所有往来的信息,RIP协议没有身份认证的部分,虽然OSPF协议中有关于身份认证的部分,但很少有人用到。
●NFS、NIS都是不太安全的。
●很多系统管理员为了关机方便而设立了halt之类的特殊用户,怎样利用这一点来攻击呢?
●侵入了一个系统之后,如何“打扫战场”让管理员看不出来?如何潜伏下来以致于管理员除了重新安装系统,别无清除的办法呢?……
这些东西都不是我凭空想象的,国外的Hacker们就是这么做的(他们还有很多更厉害的招数呢)。